classic_battlefield_moddingfandomcom-20200214-history
Creating Complex AImeshes
' by Joker, edited by Dnamro' Level: Advanced -Experience with 3dsmax is needed to follow this tutorial. Tools: 3dsmax 9 is used in this tutorial. This tutorial will explain some techniques to create AImeshes for complex objects. In this we will explore the process of making an AImesh as one complete objects that meets all the AImesh rules of being one closed mesh. Note that an AImesh can be made up of separate parts as long as they are all closed and do not intersect each other, but that is for another tutorial. In this example, For example, Operation_road_rage level. Even at first sight it is cleary visible that this map is "hand-made" in non-DICE style. One of the worst things - is some objects have not closed thier collision meshes. So, while generating navmesh you cleary see it in log. It looks something like "Object ..... has broken data.", "Object is self-intersecting!", "Object is not a closed mesh!" It makes certain problems. For example, "xp2_interchange_02" object on generated navmesh looks like a huge cube. It's not neccessary to wait end of generating navmesh. We need only log-file with these objects. We'll extract them. We need (this example) xp2_interchange_02.con xp2_interchange_02.tweak from booster_server and xp2_interchange_02.staticmesh from booster_client. We don't need .collision mesh cause it made by curved-hands. We import it in 3ds. It looks like this. AIedit_image002 Next, we draw a shape closed line with the same number of vertices of main object edge. AIedit_image004.jpg Convert it to editable mesh. AIedit_image006.jpg Attach it to main object AIedit_image008.jpg and move vertices. I just copy the x,y and z coords of main object vertex and past them in the same vertex of new poly. AIedit_image010.jpg Next, select 2 vertices and choose Weld-Selected AIedit_image014.jpg So, we close one of the edges AIedit_image016.jpg When it will be fully closed, next step is add other small things to main object. Cause the interchange_02 is complex object, we need to make 2 different collision mesh for infantry and vehicle. For example, there's a couple of stones. It's not a problem for vehicle, but infantry will get stuck in some places. AIedit_image018.jpg For vehicle collision mesh we could select and delete or detach them. AIedit_image020.jpg Next, we need to merge main object and support poles. It can be done with ProBoolean. Example, we have a cube and cylinder. Aiedit_image022.jpg With cube selected we choose Create-Compound-ProBoolean, set Operation parameter to "Union", press "Start picking" and select the cylinder. AIedit_image024.jpg AIedit_image026.jpg AIedit_image028.jpg AIedit_image030.jpg The same thing we'll apply to our interchange object. AIedit_image032.jpg AIedit_image034.jpg After all, when we have fully closed collision mesh, it's time to check it out for errors. So, we 're select object and in modifier stack select "STL Check". AIedit_image036.jpg AIedit_image038.jpg If everything allright, we can export it into bf2. If not, the problem polys will be red highlighted. AIedit_image040.jpg I forget one thing about polygons. After importing in 3ds, object consists of separated triangles. I have not any idea why. So, i just have select them all and weld. When all bad objects are fixed, we need to put them back (our fixed object_name.collisionmesh) into booster_server.